package com.springboot.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.springboot.common.Result;
import com.springboot.entity.Comment;
import com.springboot.vo.CommentVO;

import java.util.List;

/**
 * <p>
 * 商品评论表 服务类
 * </p>
 *
 * @author zjb
 * @since 2025-10-30
 */
public interface ICommentService extends IService<Comment> {

    /**
     * 添加评论
     *
     * @param userId  用户ID
     * @param comment 评论信息
     * @return 添加结果
     */
    Result addComment(Integer userId, Comment comment);

    /**
     * 查询所有评论
     *
     * @param pageNum  页码
     * @param pageSize 每页数量
     * @param search 搜索参数
     * @return 评论列表
     */
    Result getCommentAll(Integer pageNum, Integer pageSize,String search);

    /**
     * 根据商品ID获取评论列表
     *
     * @param productId 商品ID
     * @param pageNum   页码
     * @param pageSize  每页数量
     * @return 评论列表
     */
    Result getCommentsByProductId(Integer productId, Integer pageNum, Integer pageSize);

    /**
     * 根据用户ID获取评论列表
     *
     * @param userId   用户ID
     * @param pageNum  页码
     * @param pageSize 每页数量
     * @return 评论列表
     */
    Result getCommentsByUserId(Integer userId, Integer pageNum, Integer pageSize);

    /**
     * 删除评论
     *
     * @param userId    用户ID
     * @param commentId 评论ID
     * @return 删除结果
     */
    Result deleteComment(Integer userId, Integer commentId);

    /**
     * 批量删除评论
     * @param commentIds 评论id数组
     * @return 删除结果
     */
    Result deleteCommentBatch(List<Integer> commentIds);
}